#include <string>
#include <vector>
#include <map>


namespace JSON{

	enum type{Integer, Double, String, List, Object, Numeric, undefined=-1};


#define DEFAULT_JOBJECT "default"

	typedef class JSON json;

	class JSON{
	public:
		JSON(){listType = undefined;};
		~JSON(){}
		std::string str;
		std::vector<json> list;
		std::map<std::string, JSON> object;
		int i;
		double d;
		enum type type, listType;
	};


	JSON parseJSONStr(std::string*);
};